新增相片後,要發送通知給相簿應用程式,這樣才能更新照片清單,這樣才能在相簿看到新增加的照片,使用者體驗才會好。
以前我們會用Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
,以下是範例
val intent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri)
sendBroadcast(intent)
但現在Intent.ACTION_MEDIA_SCANNER_SCAN_FILE
也被標記棄用,同樣的也有新的寫法,以下是範例
MediaScannerConnection.scanFile(this, arrayOf(), null) { path, uri ->
}
比較要講的是原本用intent
只能傳入一個uri
,但現在提供arrayOf()
,所以可以一次傳入多個uri
,重新整理後會回傳絕對路徑和uri
,但有時後會發生有絕對路徑,但uri
為null
的情況發生。